package com.gxa.service;

import com.gxa.pojo.Level1;
import com.gxa.pojo.Level2;

import java.util.List;
import java.util.Map;

public interface Level1Service {

    /**
     *  根据主键id删除品牌
     * @param id 目标id
     * @return 影响行数
     */
    int deleteByPrimaryKey(Integer id);

    /**
     *  添加品牌
     * @param record 品牌信息
     * @return 影响行数
     */
    int insertSelective(Level1 record);

    /**
     *  根据主键查询品牌信息
     * @param id 目标id
     * @return 目标品牌
     */
    Level1 selectByPrimaryKey(Integer id);

    /**
     *  根据主键修改品牌信息
     * @param record 修改信息
     * @return 影响行数
     */
    int updateByPrimaryKeySelective(Level1 record);

    /**
     *  全查询
     * @return 所有品牌信息
     */
//    List<Level1> selectAll();

    /**
     * 过滤重复添加
     * @param name 品牌名称
     * @return 品牌集合
     */
    Level1 selectByName(String name);

    /**
     * 查询当前分级下一级的数据
     * @param id 当前分级id
     * @return 当前分级的下一级数据
     */
    List<Level2> selectJunior(Integer id);

    /**
     * 查询当前分级的下级的个数
     * @return 下级个数
     */
    List<Map<Object,Object>> selectCount();

    /**
     * 批量删除
     * @param arr 删除目标id集合
     * @return 影响行数
     */
    Integer deleteBatch(List<Integer> arr);
}
